#define _CRT_SECURE_NO_WARNINGS 1

#include <iostream>
using namespace std;

#include <vector>
#include <map>

//struct Point
//{
//	int _x;
//	int _y;
//};
//

//class Date
//{
//public:
//	Date(int year, int month, int day)
//		:_year(year)
//		,_month(month)
//		,_day(day)
//	{
//		cout << _year << '-' << _month << '-' << _day << endl;
//	}
//
//	int _year;
//	int _month;
//	int _day;
//};

//
//// C++98中，标准允许使用花括号{}对数组或者结构体元素进行统一的列表初始值设定
//// 在C++11中，列表初始化可以不加=
//
//int main()
//{
//	int array1[] = { 1, 2, 3, 4, 5 };
//	int array2[5] = { 0 };
//
//	Point p = { 1, 2 };
//
//	Date d1 = { 2024, 12, 8 };
//	const Date& d2 = { 2024, 12, 9 };
//
//	return 0;
//}

//int main()
//{
//	// {} 必须跟Date构造参数个匹配
//	Date d1 = { 2024, 12, 8 };
//
//	// {} 列表中可以有任意多个值
//	vector<int> v1 = { 20, 24, 25, 45 };
//
//	map<string, string> dict = { {"sort0", "排序"}, {"sort1", "排序"}, {"sort2", "排序"} };
//	auto it = dict.begin();
//
//	vector<decltype(it)> v;
//
//	return 0;
//}

// C++把NULL定义成字面量0
// 但是0既能代表指针常量，又能表示整型常量
// 所以C++11中新增了nullptr
// nullptr

//void func(int x)
//{
//	cout << "void func(int x)" << endl;
//}
//
//void func(int* p)
//{
//	cout << "void func(int* p)" << endl;
//}
//
//int main()
//{
//	func(NULL);
//
//	// C++里面不能强转
//	/*func(((void*)0));*/
//
//	func(nullptr);
//
//	return 0;
//}

// STL中新容器的变化
// 1.新容器
// 2.新接口

// array 静态数组的封装

int main()
{
	int a[10] = { 0 };

	cout << a[10] << endl;
	cout << a[11] << endl;

	a[10] = 1;
	a[11] = 1;


	return 0;
}



